import java.util.*;

/**
 * @author LKQ
 * @date 2022/3/6 16:43
 * @description
 */
public class Solution3 {
    public static void main(String[] args) {

    }
    public String[] findRestaurant(String[] list1, String[] list2) {
        // map 键存储字符串，值存储索引下标
        Map<String, Integer> map = new HashMap<>();
        for (int i = 0; i < list1.length; i++) {
            map.put(list1[i], i);
        }
        List<String> ans = new ArrayList<>();
        int min = Integer.MAX_VALUE;
        for (int j = 0; j < list2.length && j <= min; j++) {
            if (map.containsKey(list2[j])) {
                int index = map.get(list2[j]);
                if ( index + j < min) {
                    ans.clear();
                    ans.add(list2[j]);
                    min = index + j;
                }else if (index + j == min) {
                    ans.add(list2[j]);
                }
            }
        }
        return ans.toArray(new String[]{});
    }
}
